﻿using System;
using System.Drawing;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace smartvoid
{
    public partial class GruposMaster : System.Web.UI.MasterPage
    {
        
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Session["Usuario"] != null)
                {
                    Label usuarioLogueado = new Label();
                    Usuario user = Session["Usuario"] as Usuario;
                    miCuenta.Text = user.u_Nombre + " " + user.u_Apellido;
                    //miCuenta.Visible = true;
                    SqlDataSource1.SelectParameters["nombreUsuario"].DefaultValue = user.u_Usuario;
                    dtlGrupos.DataBind();
                    dtlMiembros.DataBind();
                }
                else
                {
                    Response.Redirect("~/secciones/Login.aspx");
                }
            }
            if (Session["Usuario"] == null) Response.Redirect("~/secciones/Login.aspx");

            if (Session["Grupo"] == null)
            {
                idCalendario.Enabled = false;
                idMaterial.Enabled = false;
                idPrincipal.Enabled = false;
                idDebates.Enabled = false;
                idAddEventoCalendario.Enabled = false;
                idAddFile.Enabled = false;
                idAddFile.OnClientClick = "return false";
                iddAddReunion.Enabled = false;
                idLinkAddMembers.Enabled = false;

            }

            if (miCuenta.Text.Trim() == "")
            {
                //miCuenta.Visible = false;
                miCuenta.Text = "Welcome guest";
            }
            cargarValores();    
        }

        protected void idCalendario_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/secciones/Calendario.aspx");
        }

        protected void idPrincipal_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/secciones/Principal.aspx");
        }

        protected void idDebates_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/secciones/Debates.aspx");
        }

        protected void idMaterial_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/secciones/Material.aspx", false);
        }

        protected void idAddFile_Click(object sender, EventArgs e)
        {
            
        }

        protected void idAddEventoCalendario_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/secciones/NuevoEvento.aspx");
        }

        protected void idLinkCreateGroup_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/secciones/CrearGrupo.aspx");
        }

        protected void iddAddReunion_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/secciones/Debates.aspx");
        }

        protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
        {
            dtlGrupos.SelectedIndex = e.Item.ItemIndex;
            string nombreGrupo = ((LinkButton)dtlGrupos.SelectedItem.FindControl("g_NombreLabel")).Text.ToString();
            using (var context = new SmartVoidEntities())
            {
                var query = (from a in context.Grupos
                             where a.g_Nombre == nombreGrupo
                             select a).FirstOrDefault();
                Session.Add("Grupo", query.g_IDGrupo.ToString());
            }
            Response.Redirect(Request.RawUrl);
            //cargarValores();
        }

        void cargarValores()
        {
            using (var SmartVoidContext = new SmartVoidEntities())
            {
                String NombreGrupo, DescripcionGrupo, UsuarioCreador;
                int idGrupo = 0;
                if (Session["Grupo"] != null)
                {
                    idGrupo = Int32.Parse(Session["Grupo"].ToString());
                }

                if (idGrupo != 0)
                {
                    var query = from grupo in SmartVoidContext.Grupos
                                where grupo.g_IDGrupo == idGrupo
                                select grupo;

                    Grupos grupoActual = query.FirstOrDefault<Grupos>();

                    NombreGrupo = grupoActual.g_Nombre;
                    DescripcionGrupo = grupoActual.g_Descripcion;
                    UsuarioCreador = grupoActual.g_Creador;

                    /*          ######################################
                                idPHGroupDates
                                ######################################          */

                    idPHGroupDates.Controls.Clear();
                    Literal htmlCodeGroupDates = new Literal();
                    htmlCodeGroupDates.Text = @"<h3 class=""cssH3NombreDelGrupo"">" + NombreGrupo + "</h3>" +
                                            @"<span class=""cssSpanUsuarioCreador"">Usuario creador:<p class=""cssPUsuarioCreador"">" + UsuarioCreador + "</p></span>";
                    idPHGroupDates.Controls.Add(htmlCodeGroupDates);

                    /*          ######################################
                                idPHGroupDescription
                                ######################################          */

                    idPHGroupDescription.Controls.Clear();
                    Literal htmlCodeGroupDescription = new Literal();
                    htmlCodeGroupDescription.Text = @"<span class=""cssSpanDescripcionDelGrupo"">" + DescripcionGrupo + "</span>";
                    idPHGroupDescription.Controls.Add(htmlCodeGroupDescription);

                    /*          ######################################
                                Datalist
                                ######################################          */
                    foreach (DataListItem a in dtlGrupos.Items)
                    {
                        if (((LinkButton)a.FindControl("g_NombreLabel")).Text.ToString() == NombreGrupo)
                        {
                            dtlGrupos.SelectedIndex = a.ItemIndex;
                        }
                    }
                }
            }
        }

        protected void idLkCerrarSesion_Click(object sender, EventArgs e)
        {
            Session.Abandon();
            Response.Redirect("Login.aspx");
        }

        protected void idLinkAddMembers_Click(object sender, EventArgs e)
        {
            Response.Redirect("AñadirMiembros.aspx");
        }
    }
}